import org.junit.jupiter.api.Test;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

public class _23_合并k个有序链表__暴力解法 {


    @Test
    public void test(){
        List<String > list=new ArrayList<>();


    }

    /**
     * 暴力解法的思路：遍历链表数组，将所有的值放到一个数组中，然后将数组进行排序，然后在创建一个链表
     * @param lists
     * @return
     */
    public ListNode mergeKLists(ListNode[] lists) {
        ArrayList<Integer> list=new ArrayList<>();
        for (int i = 0; i < lists.length; i++) {
            while (lists[i]!=null){
                list.add(lists[i].val);
                lists[i]=lists[i].next;
            }
        }
        Collections.sort(list);
        ListNode head=new ListNode(0);
        ListNode res=head;
        for (int i = 0; i < list.size(); i++) {
            //创建链表的时候，题目给我们的一般是节点，我们是创建一个头结点，然后将头结点指向第一个节点,这是初始化链表
            //遍历数组生成链表，每遍历一个数就创建一个节点，创建时指定节点的value，然后将当前节点指向创建的节点
            //然后将当前的节点移动到下一个节点，这样连接起来生成一个链表
            ListNode node =new ListNode(list.get(i));
            res.next=node;
            res=res.next;
        }
        return head.next;
    }

}
